Manufacturing execution systems (MES) are typically used to specify, control and record a history of processing of semiconductor device manufacturing objects. A manufacturing object may be described as a physical unit, such as a lot of semiconductor device wafers (e.g., a group of 25 wafers), for which a sequence of manufacturing operations with standard or special processing conditions at each operation are to be specified and executed to create a “physical object” (e.g., wafers with semiconductor devices thereon).
Sometimes, a manufacturing object may be used as an experimental or production manufacturing lot or portions thereof. An experimental lot may be a lot processed to determine or select manufacturing operations for processing production lots. A production lot may be a lot to be processed in accordance with the selected operations to produce physical objects or semiconductor devices for use, distribution, sale, and the like.
In the front part of semiconductor manufacturing, a “full” flow (e.g., a flow plan which includes one or more flow blocks) is specified for processing particular lots into wafers having semiconductor devices, because the lot is the size of a single group of wafers that is delivered from tool to tool. The flow starts out with blank wafers and ends up with wafers with hundreds of chips patterned on them. In this context each chip may be considered a “device” or a type of device, such that there is one or more devices per chip. As known in the art, each of these chips may have millions to hundreds of millions of semiconductor transistors and/or electronic circuits. In the back half of semiconductor manufacturing, the wafers are sawed (e.g., “diced”) into individual semiconductor chips, and then “lots” of the individual chips (e.g., the individual units of the lot now separated) are tracked through the assembly and test process. Thus, a manufacturing object may start as a “blank” lot of wafers, that after being processed according to a “full” flow plan, becomes a lot of wafers including semiconductor devices (e.g., each wafer having devices is a “physical object”).
Current MES separate the configuration from the execution systems. For example, new flows are created using a flow block editor. Non-standard processing is specified in a separate experiment editor, where experiments are thought to only consist of special processing instructions overlaid on predefined flows. No integrated flow and special processing editor exits. Furthermore, a lot's processing is started to follow its flow and experiment specification, and history is build up during its processing. However, accessing this history requires a separate history viewer. Experimental flow changes during processing thus require the user to navigate several editors: first, the flow block editor, to define a new version of the flow; second, the experiment editor, to define special instructions to ensure the lot doesn't continue processing past the point of the flow edits; third, the history viewer, to review the processing of the lot while editing the future flow, and forth, an execution interface, to adjust the lot and the experiment from the old version of its flow to the new version of its flow.
Moreover, current experimental MES flows and production MES flows are configured separately, for only the experimental or production processing devices, respectively. For instance, full flexibility for each lot to have non-standard flows, parts of standard flows, special processing, in-situ editing, etc. is enabled for experimental flows. However, for the experimental flow, the engineer does not have full history and future flow information when making changes. On the other hand, in a production environment, it is necessary to efficiently manage a production flow to control processing of 100's of lots that follow a common flow (the production flow).
Thus, once experimenting to produce a satisfactory or sufficient experimental flow plan for use in or as part of a production flow plan is complete, a separate production flow for production must be configured from the experimental flow. As a result, specifying, controlling and recording a history of processing of an experimental flow and creating a flow for production from the experimental flow is currently performed with an inefficient and nonintegrated system.
Once a production flow plan or lot plan is created based on the experimental flow plan or lot plan, the production flow plan or lot plan may then be used to process production lots of wafers. The production flow may include a production flow blocks that may be created using a production editor. A production history may be created to track or record results of the processing. Again, viewing the production history typically requires an editor or interface other than that used to create the production flow blocks.
For example, a lot's flow history is usually available in a static view that contains very detailed processing history information, but no information about the future flow of the lot (e.g., future or not yet executed operations). A lot's future flow is available as a utility for editing common flows, but no lot-specific historical data is available. In addition, if lot-specific special processing is needed, it's specified as an add-on to a standard flow, not as an integrated part of the experiment design. This separation of configuration and execution systems leads to errors in configuration, which can result in misprocessing and reduced throughput. Engineers need to know the latest processing information about a lot when making changes to its flow, especially for experimental lots. Also, unexpected actions can occur during processing, such as wafer loss and rework, which need to be reflected in the configuration system, to provide full contextual information to the engineer configuring changes.
Thus, present MES systems provide separate views of configuration and execution data. Execution data is stored as object-specific history, and configuration data is stored as common structural data. Users are not presented with an integrated environment for making configuration changes in the context of actual execution data.
In addition, current MES systems have very little support for experimental processing configuration. When they do have some support, they assume that the user is adding minor instructions on top of a well-defined flow. Experimental configuration is typically done ad hoc, through off-line processing and paper trails, or through the development of a side-car system to specify experimental processing, but which is not tied to the execution systems. These current systems are highly prone to human error during setup.